/**
 * oidc权限与页面权限对应表
 */
const map = {
  'AbpIdentity': 'Identity',
  'AbpIdentity.Roles': 'Roles', // 角色管理
  'AbpIdentity.Roles.Create': 'RolesCreate',
  'AbpIdentity.Roles.Update': 'RolesUpdate',
  'AbpIdentity.Roles.Delete': 'RolesDelete',
  'AbpIdentity.OrganizationUnits': 'Organization',
  'AbpIdentity.OrganizationUnits.Get': 'OrganizationGet',
  'AbpIdentity.OrganizationUnits.Create': 'OrganizationCreate',
  'AbpIdentity.OrganizationUnits.Update': 'OrganizationUpdate',
  'AbpIdentity.OrganizationUnits.Delete': 'OrganizationDelete',
  'Saas.Tenants': 'TenantManagement',
  'Saas.Tenants.Create': 'TenantsCreate',
  'Saas.Tenants.Update': 'TenantsUpdate',
  'Saas.Tenants.Delete': 'TenantsDelete',
  'Saas.Editions': 'Versionmanagement',
  'Saas.Editions.Create': 'EditionsCreate',
  'Saas.Editions.Update': 'EditionsUpdate',
  'Saas.Editions.Delete': 'EditionsDelete',
  'AuditLogging.AuditLogs': 'LogManagement',
  'Chat.Messaging': 'MessageCenter',
  'Chat.Messaging.Read': 'Inbox',
  'Chat.Messaging.Write': 'Outbox',
  'CMS.SystemManagement': 'Gateway', // 内容管理
  'GameManage': 'GameManage',
  'EventsManagement.Competitions': 'GameManageIdenty', // 赛事管理
  'EventsManagement.Competitions.Approve': 'GameReportIdenty', // 赛事审批
  'EventsManagement.Competitions.MembersManagement': 'TeamMemberManagement', // 团体会员管理
  'EventsManagement.Registers': 'Member', // 会员中心
  'Order': 'Order', // 订单管理
  'EventsManagement.InsuranceManagement': 'InsuranceSearch', // 保险查询
  'Payment.Order': 'OrderSearch', // 订单查询
  'AbpIdentity.Users.ChangeAdmin': 'ChangeSuperTube', // 更换超管
  'Taekwondo.Payment': 'SetActionNum', // 设置收款账号
  'EventsManagement.Competitions.PoomsaeSetting': 'ChapterSettings', // 品势设置
  'EventsManagement.Competitions.KyorugiSetting': 'CompetitiveDataSettings', // 竞技设置
  'EventsManagement.ClerkOfCourse': 'CheckIn', // 检录人员库设置
  'EventsManagement.Competitions.ApproveSetting': 'OrgnazitionAuth', // 机构权限配置
  'EventsManagement.Competitions.CertificationLevelSetting': 'GameLevel', // 赛事认证等级划分
  'Logistics.Default': 'Logistics', // 后勤管理
  'Train.Trainnings': 'Training', // 培训管理
  'Train.Trainnings.TrainningType': 'TrainingType', // 培训类型维护
  'Train.Trainnings.TrainningLevel': 'TrainingLevel', // 培训等级维护
  'Train.Trainnings.TrainningApprove': 'TrainningApprove', // 培训审批
  'Train.Trainnings.SubjectTemplate': 'SubjectTemplate',
  'Mall.Store': 'Mall', // 商城
  // Permission.Competitions:Approve // 赛事审核权限
  'Club.DuanSetting': 'DuanSetting', // 级段位设置
  'Club.MembershipFeeSetting': 'MembershipFeeSetting', // 会员费设置
  'AbpIdentity.TAManagement': 'TAManagement'
};

class routerMap {
  constructor() {
    for (const key in map) {
      this[key] = map[key];
    }
  }
}
class oidcMap {
  constructor() {
    for (const key in map) {
      this[map[key]] = key;
    }
  }
}

export class RouterMap extends routerMap { }
export class OidcMap extends oidcMap { }
